Integration of the on-premises applications with cloud applications oftentimes is challenging for customers. With more and more cloud applications being developed, it is becoming increasingly important to be able to integrate and deploy solutions, potentially within weeks or shorter timeframes.
It would be desirable for the integration development framework with software as a service (SaaS) applications to be a generic framework, e.g., with little code and/or few custom adapters. It also would be desirable for the framework to provide, for example, simplified user interfaces (e.g., for design-time development), administrative capabilities to manage the connections and/or applications, security capabilities via WS-Security and/or other approaches, custom and/or standard security policies enforcement and monitoring capabilities for events, metrics at runtime execution, etc.
Certain example embodiments address these and/or other desires. That is, the CloudStreams generic integration framework of certain example embodiments may, for example, use a service bus like Integration Server, provide a CloudStreams engine for Connections, allow native service invocation, enable custom security policy enforcement, etc., potentially in connection with standards-based cloud applications. Design-time development may, for instance, be provided within the Eclipse Plug-ins in certain example implementations. Administration capabilities may be provided using a suitable configured user interface (UI) accessible by any suitably configured device. Monitoring and events capabilities may be made available using the applications, e.g., to render the data.
It will be appreciated, then, that certain example embodiments therefore relate to a generic integration framework that supports integration between on-premises applications and SaaS applications.
One aspect of certain example embodiments relates to using a framework to provide a CloudStreams development kit to develop a Connector Descriptor XML where connections configuration to any service operation (e.g., SOAP or REST Standards based Cloud applications) can be developed; an Eclipse plug-in UI to develop the Cloud Connector Services to interact with Cloud Applications for integration; and/or the like.
Another aspect of certain example embodiments relates to managing connections to the applications through a connection pool manager in connection with the framework.
Another aspect of certain example embodiments relates to developing a Connector Virtual Service and virtual services that enforce the custom and WS-security policies at runtime execution in connection with the framework.
Still another aspect of certain example embodiments relates to providing the capability to monitor cloud applications service level agreements (SLAs) and log events in the context of the framework.
Yet another aspect of certain example embodiments relates to enabling metrics and transactional data to be monitored, potentially at real time, using suitably configured applications (such as, for example, Aris MashZone Mashapps, etc.).
In certain example embodiments, there is provided a computer system configured to enable clients to transparently access one or more cloud-based applications managed by one or more respective cloud providers through connector services administered by the computer system. The computer system comprises processing resources including at least one processor and a memory. The processing resources are configured to coordinate at least: a plurality of metadata handlers, each said metadata handler being an implementation of an interface for accessing at least one of the cloud providers in accordance with a data model with which the associated at least one cloud provider communicates; an exporter module configured to generate, for each said metadata handler implementation, connector descriptors that define services offered by the associated at least one cloud provider; and a plurality of connection factory instances implemented separate from the plurality of metadata handlers, each said connection factory instance specifying client transport layer details for interacting with one or more of the cloud providers and/or cloud applications. The processing resources are further configured to generate the connector services based on input from the connection factory instances and matching connector descriptors.
In certain example embodiments, a client device is configured to transparently access one or more cloud-based applications managed by one or more respective cloud providers. The client device comprises at least one processor, and an interface to connector services administered by a computer system. The computer system is configured to coordinate at least the elements indicated in the preceding paragraph and/or elsewhere herein (e.g., the plurality of metadata handlers, the exporter module, and the plurality of connection factory instances). The connector services may be generated by the computer system based on input from the connection factory instances and matching connector descriptors.
In certain example embodiments, there is provided a first cloud provider in a system including a plurality of cloud providers that manage one or more cloud-based applications. The cloud providers are transparently accessible by one or more client devices through connector services administered by a server, and the first cloud provider comprises processing resources, including at least one processor, a memory, and/or non-transitory storage, that are accessible by the one or more client devices via the server. The server is configured to coordinate at least similar elements to those indicated in the above paragraph (e.g., the plurality of metadata handlers, the exporter module, and the plurality of connection factory instances), and the connector services may be generated based on input from the connection factory instances and matching connector descriptors.
In certain example embodiments, a method of configuring a computer system that enables clients to transparently access one or more cloud-based applications managed by one or more respective cloud providers through connector services administered by the computer system is provided. A plurality of metadata handlers is defined, with each said metadata handler being an implementation of an interface for accessing at least one of the cloud providers in accordance with a data model with which the associated at least one cloud provider communicates. For each said metadata handler implementation, connector descriptors that define services offered by the associated at least one cloud provider are generated in connection with an exporter module. Client transport layer details for interacting with one or more of the cloud providers and/or cloud applications are specified in connection with a plurality of connection factory instances that are implemented separate from the plurality of metadata handlers. The connector services are generated, in connection with at least one processor, based on input from the connection factory instances and matching connector descriptors.
In certain example embodiments, there is provided a method of executing an application in connection with client devices connected to a computer system that enables the client devices to transparently access one or more cloud-based applications managed by one or more respective cloud providers through connector services administered by the computer system. The computer system is configured, e.g., in accordance with the method of the previous paragraph or other techniques set forth herein. The client devices are able to access the one or more cloud-based applications in connection with the connector services administered by the computer system in the execution of the application.
In certain example embodiments, non-transitory computer readable storage mediums may be provided that tangibly store instructions and/or programs that, when executed by a processor of a suitably configured computer system, may perform these and/or other related methods.
These aspects and example embodiments may be used separately and/or applied in various combinations to achieve yet further embodiments of this invention.